home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK2.toast / Development Kits / QuickTime / QuickTime 3 Interfaces & Libs / QTDevWin / CIncludes / Collections.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-21  |  17.1 KB  |  523 lines  |  [TEXT/dosa]

  1. /*
  2.      File:        Collections.h
  3.  
  4.      Contains:    Collection Manager Interfaces
  5.  
  6.      Version:    Technology:    System 7.x
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1989-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __COLLECTIONS__
  19. #define __COLLECTIONS__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __MIXEDMODE__
  25. #include <MixedMode.h>
  26. #endif
  27.  
  28.  
  29.  
  30. #if PRAGMA_ONCE
  31. #pragma once
  32. #endif
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #if PRAGMA_IMPORT
  39. #pragma import on
  40. #endif
  41.  
  42. #if PRAGMA_STRUCT_ALIGN
  43.     #pragma options align=mac68k
  44. #elif PRAGMA_STRUCT_PACKPUSH
  45.     #pragma pack(push, 2)
  46. #elif PRAGMA_STRUCT_PACK
  47.     #pragma pack(2)
  48. #endif
  49.  
  50. /*************/
  51. /* Constants */
  52. /*************/
  53. /* Convenience constants for functions which optionally return values */
  54.  
  55. enum {
  56.     kCollectionDontWantTag        = 0L,
  57.     kCollectionDontWantId        = 0L,
  58.     kCollectionDontWantSize        = 0L,
  59.     kCollectionDontWantAttributes = 0L,
  60.     kCollectionDontWantIndex    = 0L,
  61.     kCollectionDontWantData        = 0L
  62. };
  63.  
  64.  
  65. /* attributes bits */
  66.  
  67. enum {
  68.     kCollectionNoAttributes        = 0x00000000,                    /* no attributes bits set */
  69.     kCollectionAllAttributes    = (long)0xFFFFFFFF,                /* all attributes bits set */
  70.     kCollectionUserAttributes    = 0x0000FFFF,                    /* user attributes bits */
  71.     kCollectionDefaultAttributes = 0x40000000                    /* default attributes - unlocked, persistent */
  72. };
  73.  
  74.  
  75. /* 
  76.     Attribute bits 0 through 15 (entire low word) are reserved for use by the application.
  77.     Attribute bits 16 through 31 (entire high word) are reserved for use by the Collection Manager.
  78.     Only bits 31 (kCollectionLockBit) and 30 (kCollectionPersistenceBit) currently have meaning.
  79. */
  80.  
  81. enum {
  82.     kCollectionUser0Bit            = 0,
  83.     kCollectionUser1Bit            = 1,
  84.     kCollectionUser2Bit            = 2,
  85.     kCollectionUser3Bit            = 3,
  86.     kCollectionUser4Bit            = 4,
  87.     kCollectionUser5Bit            = 5,
  88.     kCollectionUser6Bit            = 6,
  89.     kCollectionUser7Bit            = 7,
  90.     kCollectionUser8Bit            = 8,
  91.     kCollectionUser9Bit            = 9,
  92.     kCollectionUser10Bit        = 10,
  93.     kCollectionUser11Bit        = 11,
  94.     kCollectionUser12Bit        = 12,
  95.     kCollectionUser13Bit        = 13,
  96.     kCollectionUser14Bit        = 14,
  97.     kCollectionUser15Bit        = 15,
  98.     kCollectionReserved0Bit        = 16,
  99.     kCollectionReserved1Bit        = 17,
  100.     kCollectionReserved2Bit        = 18,
  101.     kCollectionReserved3Bit        = 19,
  102.     kCollectionReserved4Bit        = 20,
  103.     kCollectionReserved5Bit        = 21,
  104.     kCollectionReserved6Bit        = 22,
  105.     kCollectionReserved7Bit        = 23,
  106.     kCollectionReserved8Bit        = 24,
  107.     kCollectionReserved9Bit        = 25,
  108.     kCollectionReserved10Bit    = 26,
  109.     kCollectionReserved11Bit    = 27,
  110.     kCollectionReserved12Bit    = 28,
  111.     kCollectionReserved13Bit    = 29,
  112.     kCollectionPersistenceBit    = 30,
  113.     kCollectionLockBit            = 31
  114. };
  115.  
  116.  
  117. /* attribute masks */
  118.  
  119. enum {
  120.     kCollectionUser0Mask        = 1L << kCollectionUser0Bit,
  121.     kCollectionUser1Mask        = 1L << kCollectionUser1Bit,
  122.     kCollectionUser2Mask        = 1L << kCollectionUser2Bit,
  123.     kCollectionUser3Mask        = 1L << kCollectionUser3Bit,
  124.     kCollectionUser4Mask        = 1L << kCollectionUser4Bit,
  125.     kCollectionUser5Mask        = 1L << kCollectionUser5Bit,
  126.     kCollectionUser6Mask        = 1L << kCollectionUser6Bit,
  127.     kCollectionUser7Mask        = 1L << kCollectionUser7Bit,
  128.     kCollectionUser8Mask        = 1L << kCollectionUser8Bit,
  129.     kCollectionUser9Mask        = 1L << kCollectionUser9Bit,
  130.     kCollectionUser10Mask        = 1L << kCollectionUser10Bit,
  131.     kCollectionUser11Mask        = 1L << kCollectionUser11Bit,
  132.     kCollectionUser12Mask        = 1L << kCollectionUser12Bit,
  133.     kCollectionUser13Mask        = 1L << kCollectionUser13Bit,
  134.     kCollectionUser14Mask        = 1L << kCollectionUser14Bit,
  135.     kCollectionUser15Mask        = 1L << kCollectionUser15Bit,
  136.     kCollectionReserved0Mask    = 1L << kCollectionReserved0Bit,
  137.     kCollectionReserved1Mask    = 1L << kCollectionReserved1Bit,
  138.     kCollectionReserved2Mask    = 1L << kCollectionReserved2Bit,
  139.     kCollectionReserved3Mask    = 1L << kCollectionReserved3Bit,
  140.     kCollectionReserved4Mask    = 1L << kCollectionReserved4Bit,
  141.     kCollectionReserved5Mask    = 1L << kCollectionReserved5Bit,
  142.     kCollectionReserved6Mask    = 1L << kCollectionReserved6Bit,
  143.     kCollectionReserved7Mask    = 1L << kCollectionReserved7Bit,
  144.     kCollectionReserved8Mask    = 1L << kCollectionReserved8Bit,
  145.     kCollectionReserved9Mask    = 1L << kCollectionReserved9Bit,
  146.     kCollectionReserved10Mask    = 1L << kCollectionReserved10Bit,
  147.     kCollectionReserved11Mask    = 1L << kCollectionReserved11Bit,
  148.     kCollectionReserved12Mask    = 1L << kCollectionReserved12Bit,
  149.     kCollectionReserved13Mask    = 1L << kCollectionReserved13Bit,
  150.     kCollectionPersistenceMask    = 1L << kCollectionPersistenceBit,
  151.     kCollectionLockMask            = 1L << kCollectionLockBit
  152. };
  153.  
  154.  
  155. /***********/
  156. /* Types   */
  157. /***********/
  158. /* abstract data type for a collection */
  159. typedef struct OpaqueCollection*         Collection;
  160. /* collection member 4 byte tag */
  161. typedef FourCharCode                     CollectionTag;
  162. typedef CALLBACK_API( OSErr , CollectionFlattenProcPtr )(SInt32 size, void *data, void *refCon);
  163. typedef CALLBACK_API( OSErr , CollectionExceptionProcPtr )(Collection c, OSErr status);
  164. typedef STACK_UPP_TYPE(CollectionFlattenProcPtr)                 CollectionFlattenUPP;
  165. typedef STACK_UPP_TYPE(CollectionExceptionProcPtr)                 CollectionExceptionUPP;
  166. enum { uppCollectionFlattenProcInfo = 0x00000FE0 };             /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  167. enum { uppCollectionExceptionProcInfo = 0x000002E0 };             /* pascal 2_bytes Func(4_bytes, 2_bytes) */
  168. #define NewCollectionFlattenProc(userRoutine)                     (CollectionFlattenUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionFlattenProcInfo, GetCurrentArchitecture())
  169. #define NewCollectionExceptionProc(userRoutine)                 (CollectionExceptionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCollectionExceptionProcInfo, GetCurrentArchitecture())
  170. #define CallCollectionFlattenProc(userRoutine, size, data, refCon)  CALL_THREE_PARAMETER_UPP((userRoutine), uppCollectionFlattenProcInfo, (size), (data), (refCon))
  171. #define CallCollectionExceptionProc(userRoutine, c, status)     CALL_TWO_PARAMETER_UPP((userRoutine), uppCollectionExceptionProcInfo, (c), (status))
  172. /*********************************************/
  173. /************* Public interfaces *************/
  174. /*********************************************/
  175. EXTERN_API( Collection )
  176. NewCollection                    (void)                                                        TWOWORDINLINE(0x7000, 0xABF6);
  177.  
  178.  
  179. EXTERN_API( void )
  180. DisposeCollection                (Collection             c)                                    TWOWORDINLINE(0x7001, 0xABF6);
  181.  
  182.  
  183. EXTERN_API( Collection )
  184. CloneCollection                    (Collection             c)                                    TWOWORDINLINE(0x7002, 0xABF6);
  185.  
  186.  
  187. EXTERN_API( SInt32 )
  188. CountCollectionOwners            (Collection             c)                                    TWOWORDINLINE(0x7003, 0xABF6);
  189.  
  190.  
  191. EXTERN_API( Collection )
  192. CopyCollection                    (Collection             srcCollection,
  193.                                  Collection             dstCollection)                        TWOWORDINLINE(0x7004, 0xABF6);
  194.  
  195.  
  196. EXTERN_API( SInt32 )
  197. GetCollectionDefaultAttributes    (Collection             c)                                    TWOWORDINLINE(0x7005, 0xABF6);
  198.  
  199.  
  200. EXTERN_API( void )
  201. SetCollectionDefaultAttributes    (Collection             c,
  202.                                  SInt32                 whichAttributes,
  203.                                  SInt32                 newAttributes)                        TWOWORDINLINE(0x7006, 0xABF6);
  204.  
  205.  
  206. EXTERN_API( SInt32 )
  207. CountCollectionItems            (Collection             c)                                    TWOWORDINLINE(0x7007, 0xABF6);
  208.  
  209.  
  210. EXTERN_API( OSErr )
  211. AddCollectionItem                (Collection             c,
  212.                                  CollectionTag             tag,
  213.                                  SInt32                 id,
  214.                                  SInt32                 itemSize,
  215.                                  void *                    itemData)                            TWOWORDINLINE(0x7008, 0xABF6);
  216.  
  217.  
  218. EXTERN_API( OSErr )
  219. GetCollectionItem                (Collection             c,
  220.                                  CollectionTag             tag,
  221.                                  SInt32                 id,
  222.                                  SInt32 *                itemSize,
  223.                                  void *                    itemData)                            TWOWORDINLINE(0x7009, 0xABF6);
  224.  
  225.  
  226. EXTERN_API( OSErr )
  227. RemoveCollectionItem            (Collection             c,
  228.                                  CollectionTag             tag,
  229.                                  SInt32                 id)                                    TWOWORDINLINE(0x700A, 0xABF6);
  230.  
  231.  
  232. EXTERN_API( OSErr )
  233. SetCollectionItemInfo            (Collection             c,
  234.                                  CollectionTag             tag,
  235.                                  SInt32                 id,
  236.                                  SInt32                 whichAttributes,
  237.                                  SInt32                 newAttributes)                        TWOWORDINLINE(0x700B, 0xABF6);
  238.  
  239.  
  240. EXTERN_API( OSErr )
  241. GetCollectionItemInfo            (Collection             c,
  242.                                  CollectionTag             tag,
  243.                                  SInt32                 id,
  244.                                  SInt32 *                index,
  245.                                  SInt32 *                itemSize,
  246.                                  SInt32 *                attributes)                            TWOWORDINLINE(0x700C, 0xABF6);
  247.  
  248.  
  249. EXTERN_API( OSErr )
  250. ReplaceIndexedCollectionItem    (Collection             c,
  251.                                  SInt32                 index,
  252.                                  SInt32                 itemSize,
  253.                                  void *                    itemData)                            TWOWORDINLINE(0x700D, 0xABF6);
  254.  
  255.  
  256. EXTERN_API( OSErr )
  257. GetIndexedCollectionItem        (Collection             c,
  258.                                  SInt32                 index,
  259.                                  SInt32 *                itemSize,
  260.                                  void *                    itemData)                            TWOWORDINLINE(0x700E, 0xABF6);
  261.  
  262.  
  263. EXTERN_API( OSErr )
  264. RemoveIndexedCollectionItem        (Collection             c,
  265.                                  SInt32                 index)                                TWOWORDINLINE(0x700F, 0xABF6);
  266.  
  267.  
  268. EXTERN_API( OSErr )
  269. SetIndexedCollectionItemInfo    (Collection             c,
  270.                                  SInt32                 index,
  271.                                  SInt32                 whichAttributes,
  272.                                  SInt32                 newAttributes)                        TWOWORDINLINE(0x7010, 0xABF6);
  273.  
  274.  
  275. EXTERN_API( OSErr )
  276. GetIndexedCollectionItemInfo    (Collection             c,
  277.                                  SInt32                 index,
  278.                                  CollectionTag *        tag,
  279.                                  SInt32 *                id,
  280.                                  SInt32 *                itemSize,
  281.                                  SInt32 *                attributes)                            TWOWORDINLINE(0x7011, 0xABF6);
  282.  
  283.  
  284. EXTERN_API( Boolean )
  285. CollectionTagExists                (Collection             c,
  286.                                  CollectionTag             tag)                                TWOWORDINLINE(0x7012, 0xABF6);
  287.  
  288.  
  289. EXTERN_API( SInt32 )
  290. CountCollectionTags                (Collection             c)                                    TWOWORDINLINE(0x7013, 0xABF6);
  291.  
  292.  
  293. EXTERN_API( OSErr )
  294. GetIndexedCollectionTag            (Collection             c,
  295.                                  SInt32                 tagIndex,
  296.                                  CollectionTag *        tag)                                TWOWORDINLINE(0x7014, 0xABF6);
  297.  
  298.  
  299. EXTERN_API( SInt32 )
  300. CountTaggedCollectionItems        (Collection             c,
  301.                                  CollectionTag             tag)                                TWOWORDINLINE(0x7015, 0xABF6);
  302.  
  303.  
  304. EXTERN_API( OSErr )
  305. GetTaggedCollectionItem            (Collection             c,
  306.                                  CollectionTag             tag,
  307.                                  SInt32                 whichItem,
  308.                                  SInt32 *                itemSize,
  309.                                  void *                    itemData)                            TWOWORDINLINE(0x7016, 0xABF6);
  310.  
  311.  
  312. EXTERN_API( OSErr )
  313. GetTaggedCollectionItemInfo        (Collection             c,
  314.                                  CollectionTag             tag,
  315.                                  SInt32                 whichItem,
  316.                                  SInt32 *                id,
  317.                                  SInt32 *                index,
  318.                                  SInt32 *                itemSize,
  319.                                  SInt32 *                attributes)                            TWOWORDINLINE(0x7017, 0xABF6);
  320.  
  321.  
  322. EXTERN_API( void )
  323. PurgeCollection                    (Collection             c,
  324.                                  SInt32                 whichAttributes,
  325.                                  SInt32                 matchingAttributes)                    TWOWORDINLINE(0x7018, 0xABF6);
  326.  
  327.  
  328. EXTERN_API( void )
  329. PurgeCollectionTag                (Collection             c,
  330.                                  CollectionTag             tag)                                TWOWORDINLINE(0x7019, 0xABF6);
  331.  
  332.  
  333. EXTERN_API( void )
  334. EmptyCollection                    (Collection             c)                                    TWOWORDINLINE(0x701A, 0xABF6);
  335.  
  336. EXTERN_API( OSErr )
  337. FlattenCollection                (Collection             c,
  338.                                  CollectionFlattenUPP     flattenProc,
  339.                                  void *                    refCon)                                TWOWORDINLINE(0x701B, 0xABF6);
  340.  
  341.  
  342. EXTERN_API( OSErr )
  343. FlattenPartialCollection        (Collection             c,
  344.                                  CollectionFlattenUPP     flattenProc,
  345.                                  void *                    refCon,
  346.                                  SInt32                 whichAttributes,
  347.                                  SInt32                 matchingAttributes)                    TWOWORDINLINE(0x701C, 0xABF6);
  348.  
  349.  
  350. EXTERN_API( OSErr )
  351. UnflattenCollection                (Collection             c,
  352.                                  CollectionFlattenUPP     flattenProc,
  353.                                  void *                    refCon)                                TWOWORDINLINE(0x701D, 0xABF6);
  354.  
  355.  
  356. EXTERN_API( CollectionExceptionUPP )
  357. GetCollectionExceptionProc        (Collection             c)                                    TWOWORDINLINE(0x701E, 0xABF6);
  358.  
  359.  
  360. EXTERN_API( void )
  361. SetCollectionExceptionProc        (Collection             c,
  362.                                  CollectionExceptionUPP  exceptionProc)                        TWOWORDINLINE(0x701F, 0xABF6);
  363.  
  364.  
  365. EXTERN_API( Collection )
  366. GetNewCollection                (SInt16                 collectionID)                        TWOWORDINLINE(0x7020, 0xABF6);
  367.  
  368.  
  369. /**********************************************************************/
  370. /************** Utility routines for handle-based access **************/
  371. /**********************************************************************/
  372. EXTERN_API( OSErr )
  373. AddCollectionItemHdl            (Collection             aCollection,
  374.                                  CollectionTag             tag,
  375.                                  SInt32                 id,
  376.                                  Handle                 itemData)                            TWOWORDINLINE(0x7021, 0xABF6);
  377.  
  378.  
  379. EXTERN_API( OSErr )
  380. GetCollectionItemHdl            (Collection             aCollection,
  381.                                  CollectionTag             tag,
  382.                                  SInt32                 id,
  383.                                  Handle                 itemData)                            TWOWORDINLINE(0x7022, 0xABF6);
  384.  
  385.  
  386. EXTERN_API( OSErr )
  387. ReplaceIndexedCollectionItemHdl    (Collection             aCollection,
  388.                                  SInt32                 index,
  389.                                  Handle                 itemData)                            TWOWORDINLINE(0x7023, 0xABF6);
  390.  
  391.  
  392. EXTERN_API( OSErr )
  393. GetIndexedCollectionItemHdl        (Collection             aCollection,
  394.                                  SInt32                 index,
  395.                                  Handle                 itemData)                            TWOWORDINLINE(0x7024, 0xABF6);
  396.  
  397.  
  398. EXTERN_API( OSErr )
  399. FlattenCollectionToHdl            (Collection             aCollection,
  400.                                  Handle                 flattened)                            TWOWORDINLINE(0x7025, 0xABF6);
  401.  
  402.  
  403. EXTERN_API( OSErr )
  404. UnflattenCollectionFromHdl        (Collection             aCollection,
  405.                                  Handle                 flattened)                            TWOWORDINLINE(0x7026, 0xABF6);
  406.  
  407.  
  408. #if OLDROUTINENAMES
  409.  
  410. enum {
  411.     dontWantTag                    = kCollectionDontWantTag,
  412.     dontWantId                    = kCollectionDontWantId,
  413.     dontWantSize                = kCollectionDontWantSize,
  414.     dontWantAttributes            = kCollectionDontWantAttributes,
  415.     dontWantIndex                = kCollectionDontWantIndex,
  416.     dontWantData                = kCollectionDontWantData
  417. };
  418.  
  419.  
  420. enum {
  421.     noCollectionAttributes        = kCollectionNoAttributes,
  422.     allCollectionAttributes        = kCollectionAllAttributes,
  423.     userCollectionAttributes    = kCollectionUserAttributes,
  424.     defaultCollectionAttributes    = kCollectionDefaultAttributes
  425. };
  426.  
  427.  
  428. enum {
  429.     collectionUser0Bit            = kCollectionUser0Bit,
  430.     collectionUser1Bit            = kCollectionUser1Bit,
  431.     collectionUser2Bit            = kCollectionUser2Bit,
  432.     collectionUser3Bit            = kCollectionUser3Bit,
  433.     collectionUser4Bit            = kCollectionUser4Bit,
  434.     collectionUser5Bit            = kCollectionUser5Bit,
  435.     collectionUser6Bit            = kCollectionUser6Bit,
  436.     collectionUser7Bit            = kCollectionUser7Bit,
  437.     collectionUser8Bit            = kCollectionUser8Bit,
  438.     collectionUser9Bit            = kCollectionUser9Bit,
  439.     collectionUser10Bit            = kCollectionUser10Bit,
  440.     collectionUser11Bit            = kCollectionUser11Bit,
  441.     collectionUser12Bit            = kCollectionUser12Bit,
  442.     collectionUser13Bit            = kCollectionUser13Bit,
  443.     collectionUser14Bit            = kCollectionUser14Bit,
  444.     collectionUser15Bit            = kCollectionUser15Bit,
  445.     collectionReserved0Bit        = kCollectionReserved0Bit,
  446.     collectionReserved1Bit        = kCollectionReserved1Bit,
  447.     collectionReserved2Bit        = kCollectionReserved2Bit,
  448.     collectionReserved3Bit        = kCollectionReserved3Bit,
  449.     collectionReserved4Bit        = kCollectionReserved4Bit,
  450.     collectionReserved5Bit        = kCollectionReserved5Bit,
  451.     collectionReserved6Bit        = kCollectionReserved6Bit,
  452.     collectionReserved7Bit        = kCollectionReserved7Bit,
  453.     collectionReserved8Bit        = kCollectionReserved8Bit,
  454.     collectionReserved9Bit        = kCollectionReserved9Bit,
  455.     collectionReserved10Bit        = kCollectionReserved10Bit,
  456.     collectionReserved11Bit        = kCollectionReserved11Bit,
  457.     collectionReserved12Bit        = kCollectionReserved12Bit,
  458.     collectionReserved13Bit        = kCollectionReserved13Bit,
  459.     collectionPersistenceBit    = kCollectionPersistenceBit,
  460.     collectionLockBit            = kCollectionLockBit
  461. };
  462.  
  463.  
  464. enum {
  465.     collectionUser0Mask            = kCollectionUser0Mask,
  466.     collectionUser1Mask            = kCollectionUser1Mask,
  467.     collectionUser2Mask            = kCollectionUser2Mask,
  468.     collectionUser3Mask            = kCollectionUser3Mask,
  469.     collectionUser4Mask            = kCollectionUser4Mask,
  470.     collectionUser5Mask            = kCollectionUser5Mask,
  471.     collectionUser6Mask            = kCollectionUser6Mask,
  472.     collectionUser7Mask            = kCollectionUser7Mask,
  473.     collectionUser8Mask            = kCollectionUser8Mask,
  474.     collectionUser9Mask            = kCollectionUser9Mask,
  475.     collectionUser10Mask        = kCollectionUser10Mask,
  476.     collectionUser11Mask        = kCollectionUser11Mask,
  477.     collectionUser12Mask        = kCollectionUser12Mask,
  478.     collectionUser13Mask        = kCollectionUser13Mask,
  479.     collectionUser14Mask        = kCollectionUser14Mask,
  480.     collectionUser15Mask        = kCollectionUser15Mask,
  481.     collectionReserved0Mask        = kCollectionReserved0Mask,
  482.     collectionReserved1Mask        = kCollectionReserved1Mask,
  483.     collectionReserved2Mask        = kCollectionReserved2Mask,
  484.     collectionReserved3Mask        = kCollectionReserved3Mask,
  485.     collectionReserved4Mask        = kCollectionReserved4Mask,
  486.     collectionReserved5Mask        = kCollectionReserved5Mask,
  487.     collectionReserved6Mask        = kCollectionReserved6Mask,
  488.     collectionReserved7Mask        = kCollectionReserved7Mask,
  489.     collectionReserved8Mask        = kCollectionReserved8Mask,
  490.     collectionReserved9Mask        = kCollectionReserved9Mask,
  491.     collectionReserved10Mask    = kCollectionReserved10Mask,
  492.     collectionReserved11Mask    = kCollectionReserved11Mask,
  493.     collectionReserved12Mask    = kCollectionReserved12Mask,
  494.     collectionReserved13Mask    = kCollectionReserved13Mask,
  495.     collectionPersistenceMask    = kCollectionPersistenceMask,
  496.     collectionLockMask            = kCollectionLockMask
  497. };
  498.  
  499. #endif  /* OLDROUTINENAMES */
  500.  
  501.  
  502.  
  503. #if PRAGMA_STRUCT_ALIGN
  504.     #pragma options align=reset
  505. #elif PRAGMA_STRUCT_PACKPUSH
  506.     #pragma pack(pop)
  507. #elif PRAGMA_STRUCT_PACK
  508.     #pragma pack()
  509. #endif
  510.  
  511. #ifdef PRAGMA_IMPORT_OFF
  512. #pragma import off
  513. #elif PRAGMA_IMPORT
  514. #pragma import reset
  515. #endif
  516.  
  517. #ifdef __cplusplus
  518. }
  519. #endif
  520.  
  521. #endif /* __COLLECTIONS__ */
  522.  
  523.